A Rota Paralela representa a mudança fundamental na filosofia computacional de um sequência temporal (fazendo uma coisa após a outra) para um distribuição espacial (fazendo tudo ao mesmo tempo em uma grade).
1. O Heurística da Independência
Esta é a regra de ouro da computação em GPU: “Sempre que o seu problema for ‘aplicar algo independentemente a N elementos’, esta é a primeira abordagem a tentar.” Esta abordagem paralela por dados é o fruto fácil da aceleração em GPU, onde a sobrecarga de gerenciamento de fios é insignificante diante do alto throughput simultâneo.
2. Precisão e Carga
Os kernels HIP geralmente lidam com grandes matrizes de tipos primitivos. Em gráficos de alto desempenho e aprendizado de máquina, usamos frequentemente float (precisão simples), enquanto simulações científicas que exigem estabilidade numérica extrema utilizam double (precisão dupla).
3. Da Iteração à Ocupação
No código da CPU, o processador "visita" os dados por meio de laços. Na lógica da GPU, os dados "ocupam" um fio. Você deixa de escrever como fazer o laço e começa a escrever o que um único trabalhador deve fazer em uma coordenada específica.
$$\text{Índice } i = \text{blockIdx.x} \times \text{blockDim.x} + \text{threadIdx.x}$$